package com.yfqy.app.domain.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单主表
 */
@Data
public class OrderInfo {
    /**
     * 订单ID
     */
    private Long id;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 订单状态(0-待付款；1-已付款；2-支付超时；3-已发货；4-已完成；5-已取消；6-申请退款；7-部分退款；8-全部退款；9-已评价；10-商品已出库)
     */
    private Byte orderStatus;

    /**
     * 订单总金额（含运费）
     */
    private BigDecimal totalAmount;

    /**
     * 订单实付总金额（含运费）
     */
    private BigDecimal paymentAmount;

    /**
     * 促销优惠金额
     */
    private BigDecimal discountAmount;

    /**
     * 积分抵扣金额
     */
    private BigDecimal pointAmount;

    /**
     * 运费
     */
    private BigDecimal freightAmount;

    /**
     * 已支付金额
     */
    private BigDecimal paidAmount;

    /**
     * 已退款金额
     */
    private BigDecimal refundedAmount;

    /**
     * 支付方式(1支付宝 2微信)
     */
    private Byte paymentType;

    /**
     * 付款超时时间
     */
    private Date payExpireTime;

    /**
     * 订单来源(1PC 2APP 3小程序)
     */
    private Byte source;

    /**
     * 1-普通，2-满减，3-折扣，4-特价，5-拼团
     */
    private Byte orderType;

    /**
     * 活动Id
     */
    private Long promotionId;

    /**
     * 用户备注
     */
    private String remark;

    /**
     * 0-未取消，1-用户取消，2-管理员取消，3-自动取消
     */
    private Byte cancelType;

    /**
     * 取消原因
     */
    private String cancelReason;

    private Date createdTime;

    private Date modifiedTime;

    /**
     * 扩展字段
     */
    private String extend;
}